﻿using iWare.Wms.Core;
using iWare.Wms.Core.Service;
using iWare.Wms.Core.Util.LowCode.Dto;
using System;
using System.ComponentModel.DataAnnotations;

namespace iWare.Wms.Application
{
    /// <summary>
    /// 组盘入库查询参数
    /// </summary>
    public class PdaBindEntranceSearchContainer
    {
        /// <summary>
        /// 托盘
        /// </summary>
        [Required(ErrorMessage = "托盘编号不能为空")]
        public string Containercode { get; set; }

    }
    /// <summary>
    /// 手动入库参数
    /// </summary>
    public class PdaAddManualWareInput
    {
        /// <summary>
        /// 库位号
        /// </summary>
        [Required(ErrorMessage = "库位号不能为空")]
        public string Placecode { get; set; }

        /// <summary>
        /// 托盘
        /// </summary>
        [Required(ErrorMessage = "托盘不能为空")]
        public string Containercode { get; set; }

        /// <summary>
        /// 入库口
        /// </summary>
        public string Entrance { get; set; }

        /// <summary>
        /// 物料信息
        /// </summary>
        [Required(ErrorMessage = "物料信息不能为空")]
        public List<WmsMaterialContainerInput> WmsMaterials { get; set; }

    }
    /// <summary>
    /// 自动入库参数
    /// </summary>
    public class PdaAddAutoWareInput
    {
        /// <summary>
        /// 库位号
        /// </summary>
        public String Placecode { get; set; }

        /// <summary>
        /// 托盘
        /// </summary>
        [Required(ErrorMessage = "托盘不能为空")]
        public String Containercode { get; set; }


        /// <summary>
        /// 入库口
        /// </summary>
        [Required(ErrorMessage = "入库口不能为空")]
        public String Entrance { get; set; }

        /// <summary>
        /// 物料信息
        /// </summary>
        [Required(ErrorMessage = "物料信息不能为空")]
        public List<WmsMaterialContainerInput> WmsMaterials { get; set; }

    }
    /// <summary>
    /// 组盘入库查询参数
    /// </summary>
    public class PdaBindEntranceSearchMateria
    {
        /// <summary>
        /// 物料编码
        /// </summary>
        [Required(ErrorMessage = "物料编号不能为空")]
        public String Materialno { get; set; }
    }

    /// <summary>
    /// 
    /// </summary>
    public class PdaAddBindEntranceInput
    {
        /// <summary>
        /// 托盘
        /// </summary>
        [Required(ErrorMessage = "托盘不能为空")]
        public String Containercode { get; set; }

        /// <summary>
        /// 物料信息
        /// </summary>
        public List<PdaWmsMaterialContainerInput> WmsMaterials { get; set; }

    }

    /// <summary>
    /// 移库参数
    /// </summary>
    public class PdaAddStockTransferInput
    {
        /// <summary>
        /// 目标库位号
        /// </summary>
        [Required(ErrorMessage = "目标库位号不能为空")]
        public string Placecode { get; set; }

        /// <summary>
        /// 托盘
        /// </summary>
        [Required(ErrorMessage = "托盘不能为空")]
        public string Containercode { get; set; }

    }
    /// <summary>
    /// 组盘物料信息
    /// </summary>
    public class PdaWmsMaterialContainerInput
    {
        /// <summary>
        /// 托盘ID
        /// </summary>
        public long Containerid { get; set; }

        /// <summary>
        /// 托盘编码
        /// </summary>
        public string Containercode { get; set; }

        /// <summary>
        /// 物料名称
        /// </summary>
        public string Materialname { get; set; }

        /// <summary>
        /// 物料编号
        /// </summary>
        public string Materialno { get; set; }

        /// <summary>
        /// 物料批次
        /// </summary>
        public string Materialbatch { get; set; }

        /// <summary>
        /// 物料规格
        /// </summary>
        public string Materialspec { get; set; }

        /// <summary>
        /// 物料ID
        /// </summary>
        public long Materialid { get; set; }

        /// <summary>
        /// 组盘数量
        /// </summary>
        public decimal Bindquantity { get; set; }

        /// <summary>
        /// 组盘状态;数据字典
        /// </summary>
        public CommonStatus Bindstatus { get; set; }

        /// <summary>
        /// 抽检数量
        /// </summary>
        public decimal Sampleqty { get; set; }

        /// <summary>
        /// 单号
        /// </summary>
        public string Orderno { get; set; }


    }
}
